Программа для расчёта конструкций RFEM 6 является основой нашей модульной системы программного обеспечения. Основная программа RFEM 6 используется для задания конструкций, материалов и нагрузок плоских и пространственных конструктивных систем, состоящих из плит, стен, оболочек и стержней. Программа также позволяет создавать комбинированные конструкции, а также моделировать тела и контактные элементы.
RSTAB 9 - это мощная программа для расчёта и проектирования 3D конструкций балок, каркасов или ферм, которая которая помогает инженерам-строителям соответствовать современным требованиям и отражает последние тенденции в области строительного проектирования.
Вы часто тратите слишком много времени на расчёт сечений? Программное обеспечение Dlubal и автономная программа RSECTION облегчают вашу работу, определяя характеристики и выполняя расчёт напряжений для различных сечений.
Вы всегда знаете, откуда дует ветер? Конечно, со стороны инноваций! RWIND 2 - это программа, которая использует цифровую аэродинамическую трубу для численного моделирования потоков ветра. Программа моделирует эти потоки вокруг зданий любой геометрической формы и определяет ветровые нагрузки на поверхности.
Вам нужен обзор зон снеговой, ветровой и сейсмической нагрузок? Тогда вы находитесь по адресу. Используйте инструмент Geo-Zone Tool для быстрого и лёгкого определения снеговых нагрузок, скоростей ветра и данных по сейсмике в соответствии с ASCE 7‑16 и другими нормативами различных стран.
Хотите попробовать в работе функции программ Dlubal Software? У вас есть такая возможность! Бесплатная полная версия на 90 дней позволяет вам в полной мере попробовать в работе все наши программы.
Для задания расчётных длин в RFEM 6 есть два варианта. First, edit the member and navigate to the "Design Types" Tab. Second, create a new effective lengths definition.
Third, set whether you would like to calculate the critical moment according to the Eigenvalue method or Chapter F from the AISC. Fourth, navigate to the "Nodal Supports and Effective Lengths" tab. Within this tab there are two different methods that can be used.
Метод 1: Узловые опоры и расчетные длины
Referencing Member No. 1 in the attached model, for this column you can see a how the effective lengths for the Start, End, and Intermediate nodes are defined. First, click on Select Member or Member Set and then select the member. This will activate the intermediate nodes along the member length in the table. Next, check whether the node can move in the y/z axis (weak/strong axis), rotate about its local x-axis (torsion), and about its local z-axis (LTB).
The Warping (ω) input options will adjust the effective length for LTB, similar to the rotational z-axis restraint. For Ch. F calculations, the warping can be fully restrained or released. For Eigenvalue calculations, in addition to the fully restrained or released option, there is also the ability to set partial fixity with a warping spring constant.
Top and bottom flanges can also be restrained separately by fixing the y-axis and by releasing (unchecking) the rotation about the local x-axis restraint (torsion).
Метод 2: "K" Factors and Absolute Values
Referencing Member No. 5 in the attached model, the effective length factors can be used to define the unbraced length directly and/or apply the appropriate member end conditions. To adjust the unbraced lengths directly instead of utilizing the nodes on the member (Method 1), the "K" factors can be entered manually in the table below. Or the "Absolute Values" can be entered by selecting the option "Absolute Values". Then the unbraced length itself can be entered manually instead. This method is best used when there are no intermediate nodes currently present on the member.
Um ein nicht lineares Element wie ein Stabendgelenk mit Diagramm oder Ausfall anlegen zu können, muss zunächst das Stabendgelenk angelegt werden. Wenn RFEM das Stabendgelenk kennt, kann dieses über die Schnittstelle IMemberEndRelease geholt werden. Diese Schnittstelle verfügt dann über die Methoden GetData() und SetData(). Beide Methoden sind in der Lage sowohl die einfachen Stabendgelenkdaten vom Typ MemberEndRelease als auch die Daten einer Nichtlinearität auszulesen bzw. zu schreiben.
Im folgenden Beispiel wird in Stabendgelenk zunächst für die x-Richtung ein Gelenk aktiviert und dann als Nichtlinearität in x-Richtung der Typ WorkingDiagramType eingestellt. Nachdem diese Daten mithilfe eines Prepare-Finish-Modification-Blocks an RFEM übergeben wurden, legt dieses intern die Nichtlinearität an. Um diese mit Daten zu füllen, werden zunächst die vorhandenen Daten über GetData() von der Schnittstelle des Stabendgelenks geholt.
Nachdem die Daten (NonlinearityDiagram) ausgefüllt wurden, werde diese wieder mit SetData() übergeben:
Sub SetNLDiagram()Dim model As RFEM5.modelSet model = GetObject(, "RFEM5.Model")On Error GoTo eDim iApp As RFEM5.ApplicationSet iApp = model.GetApplicationiApp.LockLicenseiApp.ShowDim iModelData As RFEM5.iModelDataSet iModelData = model.GetModelData' modify member end release' set nonlinearity "Diagram" for x translationDim iMemHing As RFEM5.IMemberHingeSet iMemHing = iModelData.GetMemberHinge(1, AtNo)Dim memHing As RFEM5.MemberHingememHing = iMemHing.GetData()memHing.TranslationalConstantX = 0memHing.TranslationalNonlinearityX = WorkingDiagramType' Set new dataiModelData.PrepareModificationiMemHing.SetData memHingiModelData.FinishModification' create diagramDim tbl1() As DoubleReDim tbl1(1, 1)tbl1(0, 0) = 0 ' u-xtbl1(0, 1) = 0 ' P-xtbl1(1, 0) = 0.02 ' u-x (mm)tbl1(1, 1) = 2000 ' P-x (N)Dim nldHing As RFEM5.NonlinearityDiagramnldHing.ForceType = StiffnessDiagramForceType.NoneStiffnessForcenldHing.PositiveZoneType = DiagramAfterLastStepType.TearingDiagramTypenldHing.PositiveZone = tbl1nldHing.Symmetric = TrueDim iNldiag As RFEM5.INonlinearityDiagramSet iNldiag = iMemHing.GetNonlinearity(AlongAxisX)' Set new dataiModelData.PrepareModificationiNldiag.SetData nldHingiModelData.FinishModificatione: If Err.Number <> 0 Then MsgBox Err.description, , Err.Sourcemodel.GetApplication.UnlockLicenseEnd Sub
Die Vorgehensweise ist für Knotenlager und andere Nichtlinearitäten analog.
Параметры расчета загружения нельзя задать сразу при его создании, а только потом, посредством интерфейса существующего загружения. Чтобы получить доступ к интерфейсу загружения, нужно сначала получить доступ к интерфейсам «IModel» и «ILoads»:
Sub test_analysis_parameters()Dim iApp As RFEM5.ApplicationSet iApp = GetObject(, "RFEM5.Application")iApp.LockLicenseDim iMod As RFEM5.IModel3Set iMod = iApp.GetActiveModelOn Error GoTo e' get interface of loadsDim iLds As RFEM5.iLoadsSet iLds = iMod.GetLoads' get interface of load caseDim iLc As RFEM5.ILoadCaseSet iLc = iLds.GetLoadCase(1, AtNo)' get analysis parametersDim param_analy As RFEM5.AnalysisParametersparam_analy = iLc.GetAnalysisParameters' change analysis parametersparam_analy.Method = Postcriticalparam_analy.ModifyLoadingByFactor = Trueparam_analy.LoadingFactor = 1.5' ...' set new analysis parametersiLds.PrepareModificationiLc.SetAnalysisParameters param_analyiLds.FinishModificatione:If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = NothingEnd Sub
Теперь используйте команду ILoads.GetLoadcase, чтобы получить доступ к интерфейсу для конкретного загружения. Данный интерфейс затем предоставляет и функции «GetAnalysisParameters» и «SetAnalysisparameters», которые можно использовать также для считывания и записи параметров.
Одинаковую процедуру можно применить и для сочетаний нагрузок.
Коэффициенты расчетных длин передаются посредством интерфейса для стержня (IMember), который называется SetEffectiveLengths (). Для считывания данных затем используйте функцию GetEffectiveLengths ():
// get interface to running RFEM application.iApp = Marshal.GetActiveObject("RFEM5.Application") as IApplication;iApp.LockLicense();// get interface to active RFEM model.iModel = iApp.GetActiveModel();// get interface to model data.IModelData2 iModData = iModel.GetModelData() as IModelData2;// get interface to member 1IMember iMem = iModData.GetMember(1, ItemAt.AtNo);MemberEffectiveLengths memEffLen = iMem.GetEffectiveLengths();memEffLen.No = 1;memEffLen.CheckBucklingLoad = true;memEffLen.Enabled = true;memEffLen.FactorU = 1.1;memEffLen.FactorV = 1.2;memEffLen.FactorY = 1.3;memEffLen.FactorZ = 1.4;// set new effective lengths dataiModData.PrepareModification();iMem.SetEffectiveLengths(memEffLen);iModData.FinishModification();
Обратите, пожалуйста, внимание также на то, что параметры расчетных длин (например, EffectiveLengthY) для конструкции MemberEffectiveLengths и параметры CriticalBucklingLoad можно только считывать.
' получить интерфейс модели Set iApp = iModel.GetApplication() iApp.LockLicense ' получить интерфейс расчета Dim iCalc As RFEM5.ICalculation2 Set iCalc = iModel.GetCalculation ' получить теорию изгиба поверхностейРазмер calc_bend как в RFEM5.calc_bend = iCalc.GetBendingTheory ' получить настройки для нелинейностейDim calc_nl As RFEM5.CalculationNonlinearitiescalc_nl = iCalc.GetNonlinearities ' получить настройки точности и допускаРазмер calc_prec как в RFEM5.PrecisionAndTolerancecalc_prec = iCalc.GetPrecisionAndTolerance ' получить настройки расчетаРазмеры calc_sets в соответствии с RFEM5.CalculationSettingscalc_sets = iCalc.GetSettings ' получить параметры расчетаРазмер calc_opts как в RFEM5.CalculationOptionscalc_opts = iCalc.GetOptions ' установить для ShearStiffness значение falsecalc_opts.ShearStiffness = FalseiCalc.SetOptions calc_opts